export function validatePhone(rule: any, value: any, callback: any){
    if (!value) {
        return callback()
    }

    var pattern = /^1[3456789]\d{9}$/
    if (pattern.test(value)) {
        return callback()
    }
    return callback(new Error('输入的手机号错误'))
}

export function validateEmail(rule: any, value: any, callback: any){
    if (value) {
        var reg = new RegExp("^(\\w-*\\.*)+@(\\w-?)+(\\.\\w{1,})+$") //正则表达式

        if (!reg.test(value)) {
            return callback(new Error('邮箱输入错误'))
        } else {
            return callback()
        }
    } else {
        return callback()
    }
}

export function validatePassword(rule: any, value: any, callback: any){
    //如果是空不管，此方法不验证空值，只验证不为空时是否正确
    if (value) {
        if (value.length < 8) {
            return callback(new Error('密码必须大于等于8位'))
        }

        var REG_NUMBER = new RegExp(".*\\d+.*")
        var REG_UPPERCASE = new RegExp(".*[A-Z]+.*")
        var REG_LOWERCASE = new RegExp(".*[a-z]+.*")
        var REG_SYMBOL = new RegExp(".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*")

        var i = 0
        if (REG_NUMBER.test(value)) i++;
        if (REG_UPPERCASE.test(value)) i++;
        if (REG_LOWERCASE.test(value)) i++;
        if (REG_SYMBOL.test(value)) i++;

        if (i  < 4 ) return callback(new Error('密码格式错误，必须包含大小写字母+数字+特殊字符'))

        return callback()
    }
}